/** 
 * 将所有路由跳转的功能单独放这一个组件里
 */
import React from 'react'
import axios from 'axios'
import { withRouter } from 'react-router-dom'
import { connect } from 'react-redux'
//获取用户信息
import { loadData } from '../../redux/user_redux'

//添加 @withRouter 是为了让这个组件能用路由属性
@withRouter
@connect(
    null,
    { loadData }
)
class AuthRoute extends React.Component {
    constructor(props) {
        super(props)
    }

    componentDidMount() {

        const publicList = ['/login', '/register']
        const pathname = this.props.location.pathname
        if(publicList.indexOf(pathname)>-1){
            return null
        }

        //获取用户登陆信息
        axios.get('/user/info')
            .then(res=>{
                if(res.status == 200){
                    if(res.data.code == 0){
                        //code = 0 有登陆信息 登陆成功
                        this.props.loadData(res.data.data)
                    } else {
                        //当前状态没有登陆 跳转到登录页
                        //这里的组件是普通组件，所以 this.props.history 是undefined ，需要引入 withRouter
                        this.props.history.push('/login')
                    }
                    console.log(res.data)
                }
            })
        //1.是否登陆
        //2.现在的url地址， login 是不需要跳转的
        //3.type 用户的身份是boss 还是牛人
        //4.用户是否完善信息 （选择头像 个人简介）
    }

    render() {
        return null
    }
}

export default AuthRoute